In the video coding standard High Efficiency Video Coding (HEVC), also referred to as H.265, each picture is divided into coding units (CU). Typical maximum size is 64×64 pixels. The coding units are hierarchically quad-tree split, which means that a picture may consist of a mix of coding units of sizes 64×64, 32×32, 16×16 and 8×8 pixels. Each coding unit can be divided into intra or inter coding units. A coding unit can then be divided into prediction units (PUs) each with a specific prediction mode. The coding unit can also be divided into transform units (TU). The maximum transform size is defined in the bitstream. In HEVC, the same restriction applies for both intra and inter coded TUs and this restricted transform size is fixed for the whole video sequence. Maximum transform size in HEVC is 32×32 pixels. JCTVC-K1003_v13, B. Bross et al., High Efficiency Video Coding (HEVC) text specification draft 9, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 11th Meeting: Shanghai, China, 10-19 Oct. 2012, section 7.4.2.2 on page 67 provides more information of maximum transform size according to prior art.
Large transforms can effectively reduce the overhead for coding transform coefficients. Transform units are also hierarchically split, which means that a picture may consist of a mix of transform unit sizes of 32×32, 16×16 and 8×8 pixels.
The pictures in HEVC can be divided into different types of slices.
An I slice is a part of a picture that only contains blocks of pixels, i.e. intra coding units, which are predicted from previously reconstructed pixels of the current picture. These slices are also called intra coded slices.
A P slice is a part of a picture that contains blocks of pixels, i.e. inter coding units, which are predicted from one reference frame, and possibly blocks of pixels, i.e. intra coding units, which are predicted from previously reconstructed pixels of the current picture.
A B slice is a part of a picture that contains blocks of pixels, i.e. inter coding units, which are predicted from one or two reference frames, and possibly block of pixels, i.e. intra coding units, which are predicted from previously reconstructed pixels of the current picture.
Slices that are not I slices are called inter coded slices. P slices and B slices are examples of inter coded slices.
Unfortunately, visual artifacts can be seen for some difficult to encode content in HEVC, such as water, fire, smoke, etc. Hence, there is a need for encoding and decoding of video streams that combat or at least reduce visual artifacts seen in prior art video encoding and decoding solutions.